package com.selfdiscipline.data.model

/**
 * Settings for the focus mode feature
 */
data class FocusSettings(
    val id: Int = 1, // Single instance
    val focusDurationMinutes: Int = 25,
    val shortBreakDurationMinutes: Int = 5,
    val longBreakDurationMinutes: Int = 15,
    val sessionsBeforeLongBreak: Int = 4,
    val autoStartBreak: Boolean = true,
    val autoStartFocus: Boolean = false,
    val enableFocusMode: Boolean = false,
    val vibrationEnabled: Boolean = true,
    val soundEnabled: Boolean = true,
    val notificationSound: String? = null
)

/**
 * Blocked application entry for focus mode
 */
data class BlockedApp(
    val packageName: String,
    val appName: String,
    val isSystemApp: Boolean = false,
    val isWhitelisted: Boolean = false
)

/**
 * Focus statistics for a time period
 */
data class FocusStats(
    val totalSessions: Int,
    val totalFocusTimeMinutes: Int,
    val averageFocusTimeMinutes: Float,
    val longestStreak: Int, // Number of consecutive days with at least one focus session
    val totalTasksCompleted: Int,
    val startDate: String, // ISO date format
    val endDate: String // ISO date format
) 